import Vue from 'vue';
import VueRouter from 'vue-router';
import routes from './routes';
const Test = () => import('../views/Test.vue');
Vue.use(VueRouter);
/* 
导航守卫 全局守卫 组件守卫
全局守卫 针对路由器  任意路由跳转  
跳转前全局前置守卫 准备跳转到某个路由组件前做些什么（开发中用的比较大）
router.beforeEach((to,from,next)=>{})
to:目标路由
from: 起始路由
next:函数 
跳转后 全局后置守卫 在某个路由组件跳转之后
router.afterEach((to,from)=>{})

*/
let router = new VueRouter({
    mode: 'history',
    routes
})
// 添加路由组件
// 添加多个
/* router.addRoutes([{
    path: '/test',
    component: Test
}]) */
// 添加一个
router.addRoute({
    path: '/test',
    component: Test
})
// 路径  path   '/home'  '/vip' '/personal'
// 要求付费的页面 '/vip'
const paths = ['/vip'];
// to.path 要是在  paths数组中  需要付费 有等级 直接进入，若是没有等级，进入充值页面  如果不在放行
router.beforeEach((to, from, next) => {
    /* console.log(to);
    console.log(from);
    next(); */
    // 先去检测 to.path是否在paths中
    if (paths.indexOf(to.path) >= 0) {
        // 如果在
        console.log(Vue.store);
        const level = Vue.store.state.level; //level0  level10
        // 如果level = level0 这进入充值页面  '/level'
        // 如果level >=level1  进入vip
        // level转换成数字  >0
        // if()
        // Number(level);
        const num = level.slice(5);
        // console.log(level);
        if (parseInt(num) > 0) {
            // 有等级放行
            next();
        } else {
            next('/level');
        }
    } else {
        // 如果不在放行
        next();
    }

})

export default router